perm filename DDERIV.IL[TIM,LSP] blob sn#722262 filedate 1983-07-28 generic text, type T, neo UTF8
(FILECREATED "11-FEB-83 14:21:49" {PHYLUM}<GABRIEL>DDERIV.;2 3363   

      changes to:  (VARS DDERIVCOMS)
		   (FNS RUN HEADIFY DERIV QUOTIENT.DERIV TIMES.DERIV DIFFERENCE.DERIV PLUS.DERIV DER1)
		   (PROPS (QUOTIENT DERIV)
			  (TIMES DERIV)
			  (DIFFERENCE DERIV)
			  (PLUS DERIV))

      previous date: "11-FEB-83 14:09:15" {PHYLUM}<GABRIEL>DDERIV.;1)


(* Copyright (c) 1983 by RPG)

(PRETTYCOMPRINT DDERIVCOMS)

(RPAQQ DDERIVCOMS ((FNS RUN DERIV QUOTIENT.DERIV TIMES.DERIV DIFFERENCE.DERIV PLUS.DERIV DER1)
		   (PROP DERIV QUOTIENT TIMES DIFFERENCE PLUS)
		   (FNS HEADIFY)
		   (INITVARS (RUNTIMES 1000))
		   (P (for X in (QUOTE (PLUS DIFFERENCE TIMES QUOTIENT))
			   do
			   (HEADIFY X (QUOTE DERIV))))))
(DEFINEQ

(RUN
  (LAMBDA NIL                                                (* JonL "11-FEB-83 14:20")
    (DECLARE (GLOBALVARS RUNTIMES))
    (to RUNTIMES (DERIV (QUOTE (PLUS (TIMES 3 X X)
				     (TIMES A X X)
				     (TIMES B X)
				     5)))
	(DERIV (QUOTE (PLUS (TIMES 3 X X)
			    (TIMES A X X)
			    (TIMES B X)
			    5)))
	(DERIV (QUOTE (PLUS (TIMES 3 X X)
			    (TIMES A X X)
			    (TIMES B X)
			    5)))
	(DERIV (QUOTE (PLUS (TIMES 3 X X)
			    (TIMES A X X)
			    (TIMES B X)
			    5)))
	(DERIV (QUOTE (PLUS (TIMES 3 X X)
			    (TIMES A X X)
			    (TIMES B X)
			    5))))))

(DERIV
  (LAMBDA (A)                                                (* JonL "11-FEB-83 14:08")
    (COND
      ((ATOM A)
	(COND
	  ((EQ A (QUOTE X))
	    1)
	  (T 0)))
      (T (PROG ((DERIV (GETP (CAR A)
			     (QUOTE DERIV))))
	       (RETURN (COND
			 (DERIV (APPLY* DERIV (CDR A)))
			 (T (QUOTE ERROR)))))))))

(QUOTIENT.DERIV
  (LAMBDA (A)                                                (* JonL "11-FEB-83 13:39")
    (LIST (QUOTE DIFFERENCE)
	  (LIST (QUOTE QUOTIENT)
		(DERIV (CAR A))
		(CADR A))
	  (LIST (QUOTE QUOTIENT)
		(CAR A)
		(LIST (QUOTE TIMES)
		      (CADR A)
		      (CADR A)
		      (DERIV (CADR A)))))))

(TIMES.DERIV
  (LAMBDA (A)                                                (* JonL "11-FEB-83 13:39")
    (LIST (QUOTE TIMES)
	  (CONS (QUOTE TIMES)
		A)
	  (CONS (QUOTE PLUS)
		(MAPCAR A (QUOTE DER1))))))

(DIFFERENCE.DERIV
  (LAMBDA (A)                                                (* JonL "11-FEB-83 13:39")
    (CONS (QUOTE DIFFERENCE)
	  (MAPCAR A (QUOTE DERIV)))))

(PLUS.DERIV
  (LAMBDA (A)                                                (* JonL "11-FEB-83 13:39")
    (CONS (QUOTE PLUS)
	  (MAPCAR A (QUOTE DERIV)))))

(DER1
  (LAMBDA (A)                                                (* JonL "11-FEB-83 13:39")
    (LIST (QUOTE QUOTIENT)
	  (DERIV A)
	  A)))
)

(PUTPROPS QUOTIENT DERIV QUOTIENT.DERIV)

(PUTPROPS TIMES DERIV TIMES.DERIV)

(PUTPROPS DIFFERENCE DERIV DIFFERENCE.DERIV)

(PUTPROPS PLUS DERIV PLUS.DERIV)
(DEFINEQ

(HEADIFY
  (LAMBDA (X PROP)                                           (* JonL "11-FEB-83 14:08")
    (PROG ((L (GETPROPLIST X)))
          (if (FMEMB PROP (CDDR L))
	      then (SETPROPLIST X (CONS PROP (CONS (GETP X PROP)
						   L)))))))
)

(RPAQ? RUNTIMES 1000)
(for X in (QUOTE (PLUS DIFFERENCE TIMES QUOTIENT))
     do
     (HEADIFY X (QUOTE DERIV)))
(PUTPROPS DDERIV COPYRIGHT ("RPG" 1983))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (727 2731 (RUN 737 . 1361) (DERIV 1363 . 1694) (QUOTIENT.DERIV 1696 . 2022) (TIMES.DERIV
 2024 . 2236) (DIFFERENCE.DERIV 2238 . 2411) (PLUS.DERIV 2413 . 2574) (DER1 2576 . 2729)) (2914 3182 (
HEADIFY 2924 . 3180)))))
STOP